/*
 *  CubeTexture.h
 *  glare
 *
 *  Created by sunjun on 11-6-14.
 *  Copyright 2011 sunstdio. All rights reserved.
 *
 */

//////////////////////////////////////////////////////////////////////////

#ifndef __CubeTexture__
#define __CubeTexture__

//////////////////////////////////////////////////////////////////////////

#if defined __cplusplus

//////////////////////////////////////////////////////////////////////////

#include "BaseTexture.h"

//////////////////////////////////////////////////////////////////////////

NAMESPACE_BEGIN(Render)

//////////////////////////////////////////////////////////////////////////

	// this class provides an object-oriented base CubeTexture interface.
	class CubeTexture : public BaseTexture
	{
	public:		
		// constructor
		CubeTexture();
		
		// destructor
		virtual ~CubeTexture();	

    // load the data
    VOID Load(U32 level, U32 width, U32 height, U32 bits, U32 format, U32 type, const U8* pixels);

    // update the texture
    VOID Update(U32 level, I32 x, I32 y, U32 width, U32 height, U32 bits, U32 format, U32 type, const U8* pixels);	
	};

//////////////////////////////////////////////////////////////////////////

NAMESPACE_END

//////////////////////////////////////////////////////////////////////////

#endif // __cplusplus

//////////////////////////////////////////////////////////////////////////

#endif // __CubeTexture__

//////////////////////////////////////////////////////////////////////////